package com.example.myapplication.DesignPatterns.observerable;


/**
 * 观察者模式定义：
 * 观察者模式又被称为发布-订阅模式，在对象之间定义一对多的关系，这样在一个对象改变状态，依赖它的对象就会收到通知。
 * 观察者模式一般用于实现订阅功能的场景，例如公众号订阅、微博订阅、抖音关注；当我们订阅的人发布了新动态，我们就会收到。
 */

public class Test {
    public static void main(String[] args) {

        ObservedServer server = new ObservedServer();
        Observer observer1 = new User("张三");
        Observer observer2 = new User("李四");
        Observer observer3 = new User("王五");

        server.registerObserver(observer1);
        server.registerObserver(observer2);
        server.registerObserver(observer3);
        server.setInfomation("Java是世界上最好的语言。不接受任何反驳！");
        System.out.println("-------------------------");

        server.deleteObserver(observer1);
        server.setInfomation("Python是世界上最好用的语言！");
    }

}
